home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SPACE 1
/
SPACE - Library 1 - Volume 1.iso
/
games
/
251
/
readme
< prev
next >
Wrap
Text File
|
1988-11-06
|
33KB
|
830 lines
Here are all the "readme" files for various versions of Hack. I
concatenated them all to avoid a proliferation of files. There are
a lot of references to source code, makefiles, etc.; obviously these
are not applicable to a binary-only distribution.
Eric Smith
---------------------------------------------------------------------------
NetHack V2.3 README
This file contains information on the 2.3 release of NetHack. For
information on previous releases, see the README and README.OLD files. For
a detailed history of the game, see the README.ORIG file, which contains
three separate readme files, dating back to the original release of the game
(then named "hack") by Jay Fenlason.
HOW TO INSTALL THIS RELEASE
To install this release, unpack all of the shar kits. You will find
you have a bunch of completely new files, a second bunch of files with a
".new" suffix (these are all files which have been released fully, since the
patch file to update them would have been larger than the file itself), a set
of update patches - context diffs, and finally a shell script to pull every-
thing together.
Next ***BACK EVERYTHING UP***. I don't want to receive irate mail
about missing files due to some finger error.
Read "Update.sh". This script will be used once - and only once -
to perform the copies and cat's required to make the update. Once it has
been run, all of your ".new" files will be moved onto their corresponding
".c" and ".h" files, and the originals will be backed up with a ".orig"
suffix. All of the files which were shipped in parts will be concatenated
into one file. And finally Update.sh will be removed.
Next run patch(1) with the file Update.2.3 as it's stdin. This will
patch the remaining files up to 2.3e standard. Gods help you if you've done
any patching on your own. It probably won't work in that case. Best bet is
to start with a virgin 2.2 release.
Finally, copy "Makefile.<whatever>" to "Makefile", modify "config.h"
to suit and run "make". Install it as you wish.
Release Discription
This release of the game contains a large number of bug fixes, as
well as several new features. There has been a large amount of play-testing
done on this release. For a detailed list of bug fixes, and additions look
at the file "Fixes.2.3". I cannot guarantee that every modification done has
been included, but I have done my best to chronicle the changes and fixes
made there. Here are the high points:
1) New flags in "config.h":
SAC Soldiers & barracks code
SHIRT Hawaiian shirt code
THEOLOGY Smarter gods & sacrifices
STOOGES Three wild and crazy guys
SINKS Kitchen Sinks
SCORE_ON_BOTL Score (not exactly # of exp) on the bottom line.
In addition, in an MSDOS enviornment:
TERMLIB enable use of termcap file c:\etc\termcap
or .\termcap.cnf for MSDOS
Of the above, I haven't tested TERMLIB. If you find bugs in these,
send me the reports.
2) New objects:
Hawaiian shirts (sort of armor - especially for tourists).
Kitchen Sinks - for the dropping of rings, of course...
Wand of Lightning
Ring of Shock Resistance (to balance above)
A named weapon (dagger or short sword) "Sting" a la Tolkien.
Lamps and Magic Lamps
A Badge to identify you as an "Officer".
3) New Files:
A new makefile for the ATT 3B2
A "Spoilers" manual in mm format and tables for the manual.
The long-awaited documentation on nansi.sys - nansi.doc.
4) Major game changes:
- Shop generation has been cleaned up. There are now up to four
different types of object inside. There has also been modifications
to room generation to make things cleaner.
- A new type of room, the barracks (a lair for soldiers) has been
added. In addition, the soldier has been made just a little less
deadly to compensate for the large numbers present.
- A new type of trap, the landmine, (which will be renamed to con-
form with a fantasy setting in the future) has been added.
- A change to shopkeepers has them getting angry more easily if you
are wearing a badge, and have robbed them.
- The "dragon" has been split up into several sub-types. They now
have all sorts of breath weapons - NOTE: a slight bug - eating any
of the dead dragon types still gives you intrinsic fire resistance.
- A new wand, and compensating ring have been added (Lightning).
- The "Giant Eel" has been replaced with an "Electric Eel".
- The wand zapping code has been re-written (mostly in buzz()) so
that support for new zap effects will be easier in the future.
- Chameleon shape changes are now dependant on the level for more
challenge.
- An optional "logfile" has been added for game debugging.
- Some interesting changes to the "pray" code have been added.
- The restmonchn() code has been merged between Unix and MS-DOS.
This results in a fair sized reduction in size and complexity of
that particular module. Please send me any bug reports as I have
only tested it on the Unix side.
- The colour <--> gemstone type code has been fixed so that the
colour of an unknown stone now approximates the gem type.
- For those who like a little fun, three STOOGES have been added
(optionally) to the game. They will show up and fight with each
other, producing more of a disturbance than any serious trouble.
- Lamps have been added. When applied, they will light a room.
- Magic lamps have a djinn inside. Glowing potions may too.
- A new monster, the Gremlin, can multiply in water, and will
potentially steal your hard won inate attributes.
5) Minor game changes:
- The fountain code has been modified to allow coins to fall into or
be recovered from a fountain.
- In wizard mode, the wizard player can now map the level, list all
of his/her attributes, and can do a detect for all traps and doors.
- When wishing, you are no longer limited by the x3/+3 rule. However,
you can't be sure that a "greedy" wish will produce the desired
results, the object might be cursed.
- You can now optionally print your score on the bottom line. The
score printed is close to what would show up on your tombstone.
- A fix to allow multiple machine play via NFS on a shared playground
has been made. This won't affect us single machine players.
- The time between prayers is now random.
- Wizard and Medusa levels are now dependant on the MAXLEVEL param.
- The spell list is now displayed in the corner.
6) Future additions:
See the "Hackers.doc" file. I am going to make the next release
a major modification of the code (3.0). It will include as many alternate
OSs supported as I can get patches for. It will also be constrained towards
a "fantasy" approach to the game.
PLEASE NOTE MY NEW UUCP ADDRESS BELOW!!!
Mike Stephenson
ps: Sorry this one took so long. I'm going to fix up an alternative
to handle releases in the future.
Mail: Genamation Inc. Phone: (416) 475-9434
351 Steelcase Rd. W
Markham, Ontario. UUCP: uunet!{mnetor,utzoo}!genat!genpyr!mike
Canada L3R 3W1
---------------------------------------------------------------------------
NetHack V2.2 README
This file contains information on the 2.2 release of NetHack. For
information on previous releases, see the README.OLD file. For a detailed
history of the game, see the README.ORIG file, which contains three separate
readme files, dating back to the original release of the game (then named
hack) by Jay Fenlason.
This release of the game contains a large number of bug fixes, as
well as several new features. There has been a large amount of play-testing
done on this release, as it is to be a complete release (approximately 1Mb)
of source and uuencoded auxilary files. For a detailed list of bug fixes,
and additions look at the file "Fixes.2.2". I cannot guarantee that every
modification done has been included, but I have done my best to chronicle the
changes and fixes made there. Here are the high points:
1) New flags in "config.h" (some of these were included in 1.4f):
COM_COMPL Command line completion by John S. Bien
GRAPHICS Funky screen character support (Eric S. Raymond)
HACKOPTIONS Support DGK-style HACKOPTIONS processing (ESR)
RPH Various hacks by Richard P. Hughey
KJSMODS Various changes made by Kevin Sweet
BVH Additions by Bruce Holloway
In addition, in an MSDOS enviornment, when GRAPHICS is defined:
MSDOSCOLOR Colour highlighting of monsters, etc.
Of the above, I haven't tested HACKOPTIONS and MSDOSCOLOR. If you
find bugs in these, send me the reports.
2) New objects:
blindfold - allows you to avoid the gaze of a Floating Eye and to
use your telepathy on command if you have it.
mirror - scares monsters if you use it on them (and other uses).
ring of polymorph - (usually cursed) forces random polymorphs.
ring of polymorph control - prevents system shock and allows choice of
creature to polymorph into.
3) New Files:
- A new set of documentation, the "Guidebook to the Mazes of Menace"
has been supplied by Eric S. Raymond. The guidebook is written for
nroff using the "mn" macro set supplied with Bnews 2.11 or greater.
Since not everyone has these macros, I have run the guidebook through
nroff, and supplied it in flat ascii format as well. [Moderator's
note: because of past problems, I ran the formatted version
through "col -b" before passing it on to remove ^H's, etc. -br]
- A copy of "HACK.CNF" which has been renamed "NetHack.cnf" was
supplied by Steve Creps. The file decl.c has been updated to reflect
this change.
- A new "Makefile" for the AT&T Unix machines has been added.
- I was hoping to get documentation on "NANSI.SYS" as well, but got
no responses to the mail I sent the author, direct and via Bill
Randle at tekred. As per usual, I will gladly publish any relevant
documentation I get.
4) Major game changes:
- Shop generation has been significantly changed. A new structure
has been introduced which allows shops (except the "general" type)
to have up to three different types of object inside. There is also
a new "distribution pattern" parameter which tells the generation
code how to lay out the shop (this is preliminary to the addition of
two new types of shop, the temple and barracks - more on this later).
- Shopkeepers will now tell you how much they expect for each object
you pick up. This gives you the ability to haggle with the merchant
in question by dropping and picking up objects until you are more or
less satisfied with the price. I have re-written "getprice()" in
shk.c in an attempt to make sure that you cannot actually sell any
particular object for more than the shopkeeper will charge for it.
- Another change to shopkeepers has them potentially getting angry if
you stay beside them after not paying your bill. Each they time they
ask you to pay up, there is a chance they will decide they don't like
people who don't pay...
- A new monster, the hydra, has been added (as you have probably seen
on the net). I haven't had much chance to test out this feature of
the game. Mirrors have also been added, and seem to work quite well.
- Changes have been made to the object ocurrence chances in objects.h,
so that the relatively rare tools, etc. have at least a 1% chance of
showing up.
- Throwing and zapping code has been modified so that there is a
chance that said can be done through a doorway. Bolts can still
bounce however...
- The infamous and dreaded makemon() bug has been eliminated. In
addition to this, "r"ats and "K"obolds have been added back into the
game. "K"ops no longer leave treasure (just what they were carrying,
plus maybe a club or whistle).
- Two new "super"swords have been added. They are the katana named
"Snickersnee" which is +5 on damage (due to sharpness), and the long
sword "Excalibur" which is +rnd(10) to hit, +5 on damage, and has a
couple of other features I won't go into right now. The only way
for a character to get "Excalibur" is as a gift from someone. You
cannot write the word "Excalibur" on things for some reason...
- There have been two additions to disallow infinite wand charges.
First of all, wands with less than zero charges will automatically
turn to dust (thanks to Kevin Sweet). Next, a wand of cancellation
will set the number of charges in the wand to -1, which will make it
forever useless, (thanks to Ron Wessels).
5) Minor game changes:
- The fountain code has been tightened slightly so you can no longer
dip objects into a fountain or drink from one while you are floating
in mid-air due to levitation.
- Teleporting to hell via a teleportation trap will no longer occur
if the character does not have fire resistance. I found this just
too arbitrary a way to die (and so did several other people who com-
plained about it).
- A new trap, the "polymorph" trap has been added by Richard Hughey.
It's inclusion is dependant on having "KAA" defined.
- In wizard mode, the wizard player has infinite wishes, and the
ability to instantly identify everything (s)he is carrying. The wizard
player is also no longer limited by the standard multiple / bonus res-
trictions on objects wished for.
- Random number generation has been changed around to make it (I hope)
more unpredictable.
- A large number of typos have been fixed, and all of the British
spellings converted to American. I would like to see a shell script
to allow conversion back (or something like that) in the future.
- I have done a "make depend" for the makefiles to reflect a slight
restructuring in the order of inclusion of header files.
6) Future additions:
- Steve Creps is working on "barracks" and "soldier" code which is
now ready for addition. I have added the "soldier" side into the
game, but haven't really tested it. Steve will be adding the
"barracks" section in and sending me the resulting patches. There
will be a minor (read patch) release as soon as he can get the code
integrated into this release and sent up here to me.
- There are also several other new room projects in the works which
should be able to be included in that minor release, along with any
bug reports that are made in the interim.
Mike Stephenson
Mail: Genamation Inc. Phone: (416) 475-9434
351 Steelcase Rd. W
Markham, Ontario. UUCP: uunet!{mnetor, utzoo}!genat!mike
Canada L3R 3W1
----------------------------------------------------------------------------
NetHack V1.0 README
This file contains information on NetHack, it's history, features,
and installation proceedures.
For a detailed history of the game, see the README.ORIG file, which
contains three separate readme files, dating back to the original release of
the game (then named hack) by Jay Fenlason.
History:
==========
NetHack is the product of literally dozens of people's work. I have
a list of *some* of those who made major additions to the game which appears
below:
Jay Fenlason wrote the original release of "Hack", with help from
Kenny Woodland, Mike Thome and Jon Payne.
Andries Brouwer did a major re-write on the program and publshed (at least)
two versions to the Usenet.
Don Kneller ported the 1.0.3 version of Hack to the PC, creating PC-Hack.
The following folks didn't actually re-write the game, or port it to
a new machine, but have made significant contributions to the playability of
the game:
ins_akaa@jhunix.UUCP (Ken Arromdee)
New character classes.
New weapons code.
Armor weights implemented.
New tools code.
Polymorph self code.
additional bug fixes.
srt@ucla-cs (Scott R. Turner)
Rockmole & Keystone Kops code.
Squeeky Board & Magic traps.
Fountain code.
more bug fixes.
gil@cornell.UUCP (Gil Neiger)
Magic Marker code.
Fountain code enhancements.
Enhancements to dozens of routines.
more bug fixes (esp. in hack.zap.c)
ericb@hplsla.UUCP (Eric Backus)
#dip mods to fountain code.
yet more bug fixes.
As for myself, I have added new character classes and traps, the
Throne Room, spellbooks and spellcasting, implemented code for praying and
made some enhancements to the endgame.
NetHack is an integrated version of two major "flavors" of Hack,
Unix and PC Hack. It is designed so that you should be able to compile it
in either one of the target enviornments. The filenames of all modules have
been modified to correspond with the PC-Hack standards implemented by Don
Kneller.
config.h
==========
As distributed, it is set up to compile on my machine (a Pyramid 98xe
in the Berkeley universe). Due to the large number of "features" in NetHack,
the config file (config.h) is used to select the target options.
Here is a list of the currently supported options:
SPELLS Spell casting code
PRAYERS Prayer code
KAA Various changes made by Ken Arromdee
MARKER Magic marker modification
NEWCLASS New classes, traps, and Throne Rooms.
SAFE_ATTACK Safe attack code
PROBING Wand of probing code
DIAGS Diagnostics after death/quit
SORTING Sorted inventory
DGK Additional features by Don Kneller (PC specific)
DGKMOD Additional features by Don Kneller (Non-PC specific)
REDO support for redoing last command
HARD Enhanced wizard code among other things.
NEWTRAPS Magic and Squeeky board traps
FREEHAND Cannot use Pick-axe without wielding it.
SPIDERS Spiders and webs
FOUNTAINS Fountain code
KOPS Keystone Kops
ROCKMOLE Rockmoles
Status Line options:
GOLD_ON_BOTL
EXP_ON_BOTL
In a number of cases, code written for one specific version of Hack
or another was separated out and given it's own designation (eg. REDO has
been moved out of DGKMOD which was moved out of DGK from PC-HACK).
Some New Features:
====================
Some of the old code (eg. KOPS) has been enhanced to allow for more
functionality. Here's a couple of examples - you can find out the rest for
yourself in the traditional Hack style :-)
Kops now throw cream pies (thank/blame KAA for the suggestion).
The wizard may not stay dead!!!
There are a couple of new types of demons.
Demons may not be aggressive.
There are lots more of these little gems, with sufficient hints in
various fortune cookies to give away enough clues.
Makefiles:
============
The Unix "Makefile" has been enhanced to make installation cleaner
and also to allow "initialization" of the play directories (WARNING: this
will destroy old score files!!!). The PC Makefile hasn't been upgraded in
this respect.
The program "makedefs" has been modified in order to allow limited
use of "#ifdef/#else/#endif" sets in objects.h. Makedefs will only generate
one #define for any number of ocurrences of a given object name string. In
addition, "makedefs" also generates alternate defines for "DEAD_xxxxx" in
those cases where a monster has been given an alternate identity.
Makedefs has also been modified in order that it may be used to
initialize the following variable def files:
objects.h -o option, see above.
trap.h -t option, trap type defines.
date.h -d option, date string.
data -D option, optional monster names.
rumors -r option, optional rumor addition.
To compile the program on any 4.n or Sys V system, you should only
need to copy "Makefile.unix" to "Makefile", set up "Makefile" and "config.h",
then type "make". On a Xenix system, use "Makefile.xenix" and similarly set
up "Makefile" and "config.h", with "STUPID" defined. At this point in time,
I can get the Xenix version to build, but it will immediately dump core on
invocation.
Known Problems:
=================
There are several known problem areas and deficiencies in the code
which I haven't yet addressed, prefering to get the really fatal bugs out of
the way. Here's a short list of things someone out there might want to work
on (and it is by no means complete):
- The WALKIES code is really crude. Fido get's mnexto()'d you when
he gets out of the effective leash range. I haven't yet been able
to integrate leashed movement into dogmove(). You might just want
to comment out the #define in config.h.
- ROCKMOLES have some problems with screen updating. I didn't make
any changes to the code I received, and have noticed some distinct
problems with walls not being set to "door" until the rockmole
moves off the cell.
- There are some problems in the item selection code, the usual effect
of which is to leave the cursor sitting at some arbitrary point on
the screen instead of returning it to the upper left hand corner or
onto the "@". This doesn't affect the screen updating, so I have
ignored it up to now.
- REDO may not be completely implemented. I am still working on it
here but would appreciate any help anyone out there might want to
give.
I fully expect that about one week's worth of play on the net will
result in a couple dozen bugs being discovered. I would like to keep a lid
on the potential explosion of different sub-versions of the game, so if you
possibly can, please send me the bug reports, instead of releasing them to
the general public. I will apply them to my code here, and will generate an
update to the release when the mass of fixes (or mass * severity factor) gets
large enough. This way, we should be able to keep most of the net up to a
certain level - this may turn out to be the first truely net maintained
game. Unless circumstances change, I will continue to consolidate fixes and
modifications to the game, and will continue to post to the net through
comp.sources.games, with notices of new patches/fixes/mods going out through
rec.games.hack.
Making Bug Reports:
=====================
To send bug reports, just E-Mail me at any one of the following net
addresses (in order of connectivity):
seismo!mnetor!genat!mike
utzoo!mnetor!genat!mike
pyramid!pyrnj!genat!mike
utzoo!utgpu!genat!mike
When you send in a bug report, please keep your code fragments as
small as possible. Remember that each site along the way is paying for the
transmission of the code.
Mike Stephenson
Mail: Genamation Inc. Phone: (416) 475-9434
351 Steelcase Rd. W
Markham, Ontario. UUCP: {seismo, utzoo}!mnetor!genat!mike
Canada L3R 3W1
-------------------------------------------------------------------------
This file consists of all previous README files for the game, as
released with the original version (Jay F.), first usenet version (Andries B.),
and PC-Hack (Don K.). This way "README" is current for this version.
Mike Stephenson
-- Original README file --------------------------------------------------------
This is export hack, my first semester programming project.
To set it up for your system, you will have to do the following:
1: create a hack uid, to own the top ten list, etc.
2: create a hack directory "/usr/lib/game/hack" is the default.
2.5: make the directory 700 mode. /* sav files go in there...*/
3: modify hack.main.c to use the new directory.
4: modify hack.main.c so it uses the new hack gid. Gid accounts can
go into magic mode without the password, can get cores with ^G, etc.
(make sure gid isn't checked anywhere else...)
5: recompile hack.
6: put it in games after making it set-uid hack.
8: fix the bugs I undobtedly left in it.
9: tell me what you think of it.
Hack uses the UCB file /etc/termcap to get your terminal escape codes.
If you don't use it, you will have to make extensive changes to hack.pri.c
If you find any bugs (That you think I don't know about), or have any
awesome new changes (Like a better save (One that works!)), or have ANY
questions, write me
Jay Fenlason
29 East St.
Sudbury Mass.
01776
or call me at (617) 443-5036. Since I have both a modem and a teen-age
sister, Good Luck.
Hack is split (roughly) into several source files that do different things.
I have tried to fit all the procedures having to do with a certain segment
of the game into a single file, but the job is not the best in the world.
The rough splits are:
hack.c General random stuff and things I never got around to moving.
hack.main.c main() and other random procedures, also the lock file stuff.
hack.mon.c Monsters, moving, attacking, etc.
hack.do.c drink, eat, read, wield, save, etc.
hack.do1.c zap, wear, remove, etc...
hack.pri.c stuff having to do with the screen, most of the terminal
independant stuff is in here.
hack.lev.c temp files and calling of mklev.
Because of the peculiar restraints on our system, I make mklev (create
a level) a separate procedure execd by hack when needed. The source for
mklev is (Naturaly) mklev.c. You may want to put mklev back into hack.
Good luck.
Most of hack was written by me, with help from
Kenny Woodland (KW) (general random things including
the original BUZZ())
Mike Thome (MT) (The original chamelian)
and Jon Payne (JP) (The original lock file kludge and
the massive CURS())
This entire program would not have been possible without the SFSU Logo
Workshop. I am eternally grateful to all of our students (Especially K.L.),
without whom I would never have seen Rogue. I am especially grateful to
Mike Clancy, without whose generous help I would never have gotten to play
ROGUE.
-- Hack 1.0.x README file ------------------------------------------------------
Hack is a display oriented dungeons & dragons - like game.
Both display and command structure resemble rogue.
(For a game with the same structure but entirely different display -
a real cave instead of dull rectangles - try Quest)
Hack was originally written by Jay Fenlason (at lincolnsudbury:
29 East St., Sudbury Mass., 01776) with help from
Kenny Woodland, Mike Thome and Jon Payne.
Basically it was an implementation of Rogue, however, with 52+ instead of 26
monster types.
The current version is more than thrice as large (with such new features as
the dog, the long worms, the shops, etc.) and almost entirely rewritten
(only the display routines are the original ones - I must rewrite these
too one day; especially when you are blind strange things still happen).
Files for hack:
hack The actual game
record Top 100 list (just start with an empty file)
news Tells about recent changes in hack, or bugs found ...
(Just start with no news file.)
data Auxiliary file used by hack to give you the names
and sometimes some more information on the
objects and monsters.
help Introductory information (no doubt outdated).
hh Compactified version of help.
perm An empty file used for locking purposes.
rumors Texts for fortune cookies.
(Some of these contain information on the game,
others are just plain stupid. Additional rumors
are appreciated.)
hack.sh A shell script.
(We have hack.sh in /usr/games/hack and
hack in /usr/games/lib/hackdir/hack and all the other
hack stuff in /usr/games/lib/hackdir - perhaps this
will make the script clear.
There is no need for you to use it.)
READ_ME This file.
Original_READ_ME Jay Fenlason's READ_ME
System files used:
/etc/termcap Used in conjunction with the environment variable
$TERM.
/bin/cat
/usr/ucb/more
/bin/sh Used when $SHELL is undefined.
How to install hack:
0. Compile the sources. Perhaps you should first look at the file config.h
and define BSD if you are on a BSDtype system,
define STUPID if your C-compiler chokes on complicated expressions.
Make sure schar and uchar represent signed and unsigned types.
If your C compiler doesnt allow initialization of bit fields
change Bitfield. When config.h looks reasonable, say 'make'.
(Perhaps you have to change TERMLIB in the makefile.)
1. If it didnt exist already, introduce a loginname `play' .
2. The program hack resides in a directory so that it is executable
for everybody and is suid play:
---s--s--x 1 play 206848 Apr 3 00:17 hack
Perhaps you wish to restrict playing to certain hours, or have games
running under nice; in that case you might write a program play.c
such that the program play is suid play and executable for everybody
while all the games in /usr/games are readable or executable for
play only; all the program play does is asking for the name of a game,
checking that time-of-day and system load do not forbid playing,
and then executing the game. Thus:
-r-sr-sr-x 1 play 13312 May 24 12:52 play
---x------ 1 play 206848 Apr 3 00:17 hack
If you are worried about security you might let play do
chroot("/usr/games") so that no player can get access to the rest
of the system via shell escapes and the likes.
If you #define SECURE in config.h then hack will not setuid(getuid())
before executing a chdir(). Hack will always do setuid(getuid()) with
a fork. If you do not define UNIX then hack will not fork.
3. The rest of the stuff belonging to hack sits in a subdirectory hackdir
(on our system /usr/games/lib/hackdir) with modes
drwx------ 3 play 1024 Aug 9 09:03 hackdir
Here all the temporary files will be created (with names like xlock.17
or user.5).
4. If you are not really short on file space, creating a subdirectory
hackdir/save (modes again drwx------) will enable users to save their
unfinished games.
The program hack is called
$ hack [-d hackdir] [maxnrofplayers]
(for playing) or
$ hack [-d hackdir] -s [listofusers | limit | all]
(for seeing part of the scorelist).
The shell file hack (in this kit called hack.sh) takes care of
calling hack with the right arguments.
Send complaints, bug reports, suggestions for improvements to
mcvax!aeb - in real life Andries Brouwer.
-- PC Hack 3.51 README file ----------------------------------------------------
Welcome to the sources for PC HACK (version 3.51).
Introduction
------------
This is a version of the public domain program HACK 1.03 (copyright
Stichting Mathematisch Centrum, Amsterdam, 1984, 1985.) implemented
under MSDOS with the Microsoft(tm) C v3.0 compiler.
You may copy this version of PC HACK and make any changes you want to
it. You may give it away, but you may not sell it.
The sources are in ARC format in HACK351S.ARC. The commands:
C> arc51 e hack351s makefile make.*
C> arc51 e hack351s *.h
C> arc51 e hack351s *.c
will unpack the files.
With a hard disk system, you should be able to type `make' and the sources
will start to be compiled. This takes a long time. A floppy disk system
does not really have enough storage.
Compiling
---------
The LARGE compiler model is used. To add WIZARD mode, add a -DWIZARD
to the MAKEFILE, or a #define WIZARD to the CONFIG.H file.
The MAKEFILE included with PC HACK 3.51 sources is for my version of MAKE.
It is very similar to UNIX(tm) `make'. See MAKE.DOC for details.
To compile the sources by hand the command for each `filename.c' file is:
msc -AL -DREGBUG -DLINT_ARGS -Ot -Gs filename.c;
Linking
-------
I used the Microsoft 8086 Linker version 3.01
To link the *.obj files by hand, the command is:
link @linkfile
Where the contents of the linkfile (not supplied) should be:
decl.obj apply.obj bones.obj cmd.obj do.obj +
do_name.obj do_wear.obj dog.obj eat.obj +
end.obj engrave.obj fight.obj hack.obj +
invent.obj ioctl.obj lev.obj main.obj +
makemon.obj mhitu.obj mklev.obj mkmaze.obj +
mkobj.obj mkshop.obj mon.obj monst.obj +
o_init.obj objnam.obj options.obj pager.obj +
potion.obj pri.obj read.obj rip.obj +
rumors.obj save.obj search.obj shk.obj +
shknam.obj steal.obj termcap.obj +
timeout.obj topl.obj track.obj trap.obj +
tty.obj unix.obj u_init.obj vault.obj +
wield.obj wizard.obj worm.obj worn.obj +
zap.obj version.obj rnd.obj alloc.obj +
msdos.obj
hack /NOIG /STACK:4000;
Differences from UNIX HACK
--------------------------
Changes that were introduced to port UNIX HACK to the MSDOS environment
are surrounded with `#ifdef MSDOS', `#endif' directives.
Other changes I have made are surrounded by `#ifdef DGK', `#endif'
directives. It should be possible to compile these sources without
any of my changes by removing the `#define DGK' line from CONFIG.H.
Also, functions I have added are mainly restricted to the file msdos.c,
although some of them are in other places (ie. wizard.c)
Finally
-------
If you have any questions, contact me at one of:
Don Kneller
UUCP: ...ucbvax!ucsfcgl!kneller
ARPA: kneller@ucsf-cgl.ARPA
BITNET: kneller@ucsfcgl.BITNET
USMAIL: D. G. Kneller
2 Panoramic Way #204
Berkeley, CA 94704
--------------------------------------------------------------------------------
END OF FILE